home *** CD-ROM | disk | FTP | other *** search
- SWI-Prolog for Windows
- Jan Wielemaker
- 06/05/94
-
-
- The file pl-win.zip contains SWI-Prolog for Windows. It is a port of
- version 1.8.11 of SWI-Prolog. SWI-Prolog runs in a simple MS-Window
- providing traditional stream-based interaction.
-
- Status:
- =======
-
- Beta test version. Please report problems to jan@swi.psy.uva.nl.
-
-
- Copyright:
- ==========
-
- SWI-Prolog may be distributed freely for non-commercial use. See
- pl\licence for a more complete description of your rights.
-
-
- Requirements:
- =============
-
- 386/486/pentium based PC running MS-Windows 3.1. SWI-Prolog is compiled
- using the WATCOM 32-bit C/C++ compiler and should run on machines with
- and with or without floating point coprocessor. Minimum memory usage
- will be about 1 MB. You'll probably need at least 4 MB to run
- SWI-Prolog under Windows. Please report your experiences.
-
-
- Installation:
- =============
-
- Unpack the zip file from C:, creating a directory c:\pl. If you want to
- install in another directory, define the environment variable SWIPL to
- point to the main direcotry. The executable is located in
- %SWIPL%/bin/pl.exe. It looks for %SWIPL%/startup/startup.pc for its
- startup file and the directory %SWIPL%/library for the Prolog library.
-
- Create a `New Program Object' using the Window Program Manager's `new...'
- option. The fields should be:
-
- Description: SWI-Prolog
- Command Line: c:\pl\bin\pl.exe
- Working Directory: The place you work
-
- Modify `Command Line' if you installed SWI-Prolog into another directory.
-
-
- Configuration of the console dimensions:
- ========================================
-
- The stream-based console window is a completely separate library, using
- its own configuration info. It will look at two environment variables:
- "CONSOLE" and the base-name of the running program ("PL" if you use the
- default configuration). Options in "PL" overrule those in "CONSOLE".
- Options in "CONSOLE" apply to any application compiled using the console
- library. The options variable should contain a string of the form
-
- <name>:<value>{,<name>:<value>}
-
- Where <name> is one of:
-
- <name> default description
- sl 200 Number of lines you can scroll back.
- There is no limit, but the more you
- specify the more memory will be used.
- Memory is allocated when data becomes
- available.
- rows 24 Initial number of lines
- cols 80 Initial number of columns
- x CW_USEDEFAULT X-coordinate of the top-left corner.
- y CW_USEDEFAULT Y-coordinate of the top-left corner.
-
- You will normally specify this in your autoexec.bat file. Here is
- what I use:
-
- set CONSOLE=sl:600,x:400,y:400
-
-
- Windowing and Graphics
- ======================
-
- SWI-Prolog itself has no graphical capabilities. Graphics can be
- provided by the XPCE toolkit, for which an MS-Windows version is under
- development and will soon be available for public release. XPCE is
- *not* free software. The licence conditions neither the price for the
- Windows version is decided yet. Contact xpce-request@swi.psy.uva.nl if
- you are interrested.
-
-
- Filenames:
- ==========
-
- All filenames are internally handled in a Unix compatible format: they
- are lowercase, the directories are separated with a '/' and absolute
- files are of the form /<drive>:/... Filenames will be converted to
- DOS/Windows format just before invoking the C-library functions.
-
- Filename expansion will translate `~' to the environment variable HOME.
- Constructs of the form $VAR in filenames are expanded to the
- corresponding environment variable. DOS %VAR% is not recognised.
-
- The user may specify filenames either using DOS format or Unix format.
- Unix format should be used in source-files that need to be run both on
- the Unix and DOS/Windows version.
-
-
- Features and bugs specific to this version:
- ===========================================
-
- * Dynamically expanding runtime stacks using a stack-shifter.
-
- * Garbage collection works.
-
- * Fixed C-stack of 128 KB (limits depth of unification and
- various other recursive tasks; does not limit normal Prolog
- recursion).
-
- * GNU-Readline 1.2 based input editor that allows for GNU-EMACS
- like editing of the command line. This input editor runs on
- top of a simple, still incomplete I/O window. Features:
-
- * Command history using ^P, ^N
- * Cursor movement using ^B, ^F, etc.
- * Many more; just try the GNU-Emacs bindings!
- * End-of-file is ^D.
- * Completion on files and atoms using TAB, viewing
- alternatives using ESC-?
- * Window may be resized and scrolled.
-
- Bugs:
-
- * Showing matching bracket does not work
- * Resizing the window while the line is wrapped gives
- bad results.
-
- * save/[1,2] and save_program/[1,2] do not work.
-
- * profile/1 does not work.
-
- * load_foreign/[2,5] does not work.
-
- * The statistics/[0.2] reported CPU-time also includes idle time.
-
- * help/1 just dumps it output in the console window. Should be
- a separate window some day ...
-
- * Control-C cannot be used to break loops.
-
- * Fatal errors will often just cause the window to disappear.
-
-
- Boot compilation:
- =================
-
- The file pl\startup\startup.pc is a `Prolog Intermediate Code' file
- created from the Prolog sources in the boot subdirectory. If you want
- to change anything there, you can recreate the startup file using the
- command:
-
- pl.exe -o startup/startup.pc -b boot/init.pl -c boot/load.pl
-
-
- Sources:
- ========
-
- The common source for all platforms is available using anonymous ftp to
- swi.psy.uva.nl, directory pub/SWI-Prolog. The Windows version is
- compiled using the 32-bit WATCOM C/C++ compiler (version 9.5). If you
- decide to port it to another compiler (for example GCC), please forward
- me the changes.
-